package com.ruoyi.lxzx.appVO.lxxmVO;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.*;

/**
 * 评论管理对象 user_circle_discuss
 * 
 * @author ruoyi
 * @date 2024-10-26
 */
@Data
public class UserCircleDiscussVO
{
    private static final long serialVersionUID = 1L;

    private Long id;

    /** 老乡圈id */
    private Long circleId;
    private Long parentId;

    /** 评论人 */
    private String name;
    private String img;

    /** 评论内容 */
    private String content;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 评论人 */
    private String parentName;
    private String parentImg;
//    private List<UserCircleDiscussVO> subList;
//
//    public UserCircleDiscussVO(Long id, Long parentId, Long circleId,String name,String img,String content) {
//        this.id = id;
//        this.parentId = parentId;
//        this.circleId = circleId;
//        this.name = name;
//        this.img = img;
//        this.content = content;
//        this.subList = new ArrayList<>();
//    }
//
//    public static List<UserCircleDiscussVO> buildTree(List<UserCircleDiscussVO> nodes) {
//        // 创建一个 Map 来存储所有节点
//        Map<Long, UserCircleDiscussVO> nodeMap = new HashMap<>();
//        for (UserCircleDiscussVO node : nodes) {
//            nodeMap.put(node.getId(), node);
//        }
//
//        List<UserCircleDiscussVO> tree = new ArrayList<>();
//        for (UserCircleDiscussVO node : nodes) {
//            // 如果节点没有父节点，则是根节点
//            if (node.getParentId() == null || node.getParentId() == 0) {
//                tree.add(node);
//            } else {
//                // 找到父节点并将当前节点添加到父节点的子节点列表中
//                UserCircleDiscussVO parentNode = nodeMap.get(node.getParentId());
//                if (parentNode != null) {
//                    parentNode.getSubList().add(node);
//                }
//            }
//        }
//
//        return tree;
//    }



}
